Cloud computing-based services are implemented and run on datacenter networks consisting of a large number of individual computers. Typically, it is desirable to deliver as much bandwidth as possible to each computer in the datacenter. However, physically connecting each computer in the datacenter to each other computer can be prohibitively expensive and complex. Furthermore, bandwidth demands within a datacenter can vary greatly as a function of time. Therefore, increasing the number of physical connections alone may not efficiently increase the bandwidth within the datacenter.